home *** CD-ROM | disk | FTP | other *** search
/ Openstep 4.2 (Developer) / Openstep Developer 4.2.iso / NextDeveloper / Source / GNU / cctools / as / Makefile < prev    next >
Encoding:
Makefile  |  1995-02-24  |  11.0 KB  |  323 lines

  1. OFLAG = -O
  2. CFLAGS = $(OFLAG) -g -I$(SRCROOT) -I$(SRCROOT)/../include -Wall -Wno-precomp \
  3.      -I$(OFILE_DIR)
  4. LIBSTUFF = -L$(SYMROOT)/../../libstuff -lstuff
  5.  
  6. SRCROOT = .
  7. SYMROOT = .
  8. OBJROOT = .
  9. SYM_DIRS = $(SYMROOT)/driver_dir \
  10.        $(SYMROOT)/a68_dir \
  11.        $(SYMROOT)/a88_dir \
  12.        $(SYMROOT)/a386_dir \
  13.        $(SYMROOT)/a98_dir \
  14.        $(SYMROOT)/a860_dir \
  15.        $(SYMROOT)/ahppa_dir \
  16.        $(SYMROOT)/asparc_dir
  17.  
  18. OFILE_DIRS = $(OBJROOT)/driver_dir \
  19.          $(OBJROOT)/a68_dir \
  20.          $(OBJROOT)/a88_dir \
  21.          $(OBJROOT)/a386_dir \
  22.          $(OBJROOT)/a98_dir \
  23.          $(OBJROOT)/a860_dir \
  24.          $(OBJROOT)/ahppa_dir \
  25.          $(OBJROOT)/asparc_dir
  26.  
  27. BINDIR = /bin
  28. LIBDIR = /lib
  29. LOCLIBDIR = /usr/local/lib
  30. DSTDIRS = $(DSTROOT)$(BINDIR) \
  31.       $(DSTROOT)$(LIBDIR)/m68k \
  32.       $(DSTROOT)$(LIBDIR)/i386 \
  33.       $(DSTROOT)$(LIBDIR)/hppa \
  34.       $(DSTROOT)$(LIBDIR)/sparc \
  35.       $(DSTROOT)$(LOCLIBDIR)/m88k \
  36.       $(DSTROOT)$(LOCLIBDIR)/m98k \
  37.       $(DSTROOT)$(LOCLIBDIR)/i860
  38.  
  39. CFILES = app.c as.c atof-generic.c atof-ieee.c expr.c fixes.c flonum-const.c \
  40.      flonum-copy.c flonum-mult.c frags.c hash.c hex-value.c input-file.c \
  41.      input-scrub.c layout.c messages.c obstack.c read.c sections.c \
  42.      symbols.c write_object.c xmalloc.c
  43.  
  44. CFILES_m68k = m68k.c
  45. CFILES_m88k = m88k.c
  46. CFILES_i860 = i860.c
  47. CFILES_i386 = i386.c
  48. CFILES_m98k = m98k.c
  49. CFILES_hppa = hppa.c hppa-aux.c
  50. CFILES_sparc = sparc.c
  51.  
  52.  
  53. HFILES = app.h as.h atof-ieee.h bignum.h expr.h fixes.h flonum.h frags.h \
  54.      hash.h hex_value.h i386-opcode.h i386.h i860-opcode.h input-file.h \
  55.      input-scrub.h layout.h m68k-opcode.h m88k-opcode.h m98k-opcode.h md.h \
  56.      messages.h obstack.h read.h relax.h sections.h struc-symbol.h \
  57.      symbols.h write_object.h xmalloc.h hppa-aux.h hppa-opcode.h \
  58.      sparc-opcode.h
  59.  
  60. CHECK_FILES = m68k-check.c m88k-check.c i860-check.c i386-check.c m98k-check.c \
  61.           hppa-check.c sparc-check.c
  62.  
  63. INSTALL_FILES = Makefile notes $(CFILES) $(CFILES_m68k) $(CFILES_m88k) \
  64.         $(CFILES_i860) $(CFILES_i386) $(CFILES_m98k) $(CFILES_hppa) \
  65.         $(CFILES_sparc) $(HFILES) $(CHECK_FILES) driver.c \
  66.         make.defs make_defs.h
  67.  
  68. OBJS = $(CFILES:.c=.o) next_version.o
  69. OBJS_m68k = $(CFILES_m68k:.c=.o)
  70. OBJS_m88k = $(CFILES_m88k:.c=.o)
  71. OBJS_i860 = $(CFILES_i860:.c=.o)
  72. OBJS_i386 = $(CFILES_i386:.c=.o)
  73. OBJS_m98k = $(CFILES_m98k:.c=.o)
  74. OBJS_hppa = $(CFILES_hppa:.c=.o)
  75. OBJS_sparc = $(CFILES_sparc:.c=.o)
  76.  
  77. all:    $(OFILE_DIRS) $(SYM_DIRS) driver_build a68_build a88_build a386_build \
  78.     a860_build a98_build ahppa_build asparc_build
  79.  
  80. all_test:    a68_test a88_test a860_test a386_test a98_test ahppa_test
  81.  
  82. driver_build:    $(OBJROOT)/driver_dir
  83.     @if [ $(SRCROOT) = . ];                        \
  84.     then                                \
  85.         cd driver_dir;  $(MAKE) -f ../Makefile driver VPATH=..    \
  86.         OFILE_DIR=. CFLAGS="-Wall -g -O -I../../include -Wno-precomp" \
  87.         VERS_STRING_FLAGS="$(VERS_STRING_FLAGS)"        \
  88.         RC_FLAGS="$(RC_CFLAGS)" DEP_DIR=driver_dir;        \
  89.     else                                \
  90.         cd $(OBJROOT)/driver_dir; $(MAKE) -f $(SRCROOT)/Makefile    \
  91.         driver VPATH=$(SRCROOT) OFILE_DIR=$(OBJROOT)/driver_dir \
  92.         SYMROOT=$(SYMROOT)/driver_dir SRCROOT=$(SRCROOT)    \
  93.         CFLAGS="-Wall -g -O -I$(SRCROOT)/../include -Wno-precomp" \
  94.         VERS_STRING_FLAGS="$(VERS_STRING_FLAGS)"        \
  95.         RC_FLAGS="$(RC_CFLAGS)" DEP_DIR=driver_dir;        \
  96.     fi
  97.  
  98. a68_build:    $(OBJROOT)/a68_dir
  99.     @if [ $(SRCROOT) = . ];                        \
  100.     then                                \
  101.         cd a68_dir; $(MAKE) -f ../Makefile as VPATH=.. OFILE_DIR=.    \
  102.         SRCROOT=.. TARGET_OBJS="$(OBJS_m68k)" DEP_DIR=a68_dir    \
  103.         VERS_STRING_FLAGS="$(VERS_STRING_FLAGS)"        \
  104.         RC_CFLAGS="$(RC_CFLAGS)" COPTS="-DM68K -DBUILTIN_MMUS";    \
  105.     else                                \
  106.         cd $(OBJROOT)/a68_dir; $(MAKE) -f $(SRCROOT)/Makefile as    \
  107.         VPATH=$(SRCROOT) OFILE_DIR=$(OBJROOT)/a68_dir        \
  108.         SYMROOT=$(SYMROOT)/a68_dir SRCROOT=$(SRCROOT)        \
  109.         TARGET_OBJS="$(OBJS_m68k)" COPTS="-DM68K -DBUILTIN_MMUS" \
  110.         VERS_STRING_FLAGS="$(VERS_STRING_FLAGS)"        \
  111.         RC_CFLAGS="$(RC_CFLAGS)" DEP_DIR=a68_dir;        \
  112.     fi
  113.  
  114. a68_test: a68_dir
  115.     cd a68_dir; $(MAKE) -f ../Makefile m68k-check VPATH=.. OFILE_DIR=. \
  116.         SRCROOT=.. COPTS="-DM68K -DBUILTIN_MMUS"
  117.     cd a68_dir; $(MAKE) -f ../Makefile test
  118.  
  119. a88_build:    $(OBJROOT)/a88_dir
  120.     @if [ $(SRCROOT) = . ];                        \
  121.     then                                \
  122.         cd a88_dir; $(MAKE) -f ../Makefile as VPATH=.. OFILE_DIR=.    \
  123.         SRCROOT=.. TARGET_OBJS="$(OBJS_m88k)" DEP_DIR=a88_dir    \
  124.         VERS_STRING_FLAGS="$(VERS_STRING_FLAGS)"        \
  125.         COPTS="-DM88K -Dm88110" RCFLAGS=$(RCFLAGS);        \
  126.     else                                \
  127.         cd $(OBJROOT)/a88_dir; $(MAKE) -f $(SRCROOT)/Makefile as    \
  128.         VPATH=$(SRCROOT) OFILE_DIR=$(OBJROOT)/a88_dir        \
  129.         SYMROOT=$(SYMROOT)/a88_dir SRCROOT=$(SRCROOT)        \
  130.         TARGET_OBJS="$(OBJS_m88k)" COPTS="-DM88K -Dm88110"    \
  131.         VERS_STRING_FLAGS="$(VERS_STRING_FLAGS)"        \
  132.         RC_CFLAGS="$(RC_CFLAGS)" DEP_DIR=a88_dir;        \
  133.     fi
  134.  
  135. a88_test: a88_dir
  136.     cd a88_dir; $(MAKE) -f ../Makefile m88k-check VPATH=.. OFILE_DIR=. \
  137.         SRCROOT=.. COPTS="-DM88K -Dm88110"
  138.     cd a88_dir; $(MAKE) -f ../Makefile test
  139.  
  140. a386_build:    $(OBJROOT)/a386_dir
  141.     @if [ $(SRCROOT) = . ];                        \
  142.     then                                \
  143.         cd a386_dir; $(MAKE) -f ../Makefile as VPATH=.. OFILE_DIR=.    \
  144.         SRCROOT=.. TARGET_OBJS="$(OBJS_i386)" DEP_DIR=a386_dir    \
  145.         VERS_STRING_FLAGS="$(VERS_STRING_FLAGS)"        \
  146.         COPTS="-DI386 -Di486 -Di586" RC_CFLAGS="$(RC_CFLAGS)";    \
  147.     else                                \
  148.         cd $(OBJROOT)/a386_dir; $(MAKE) -f $(SRCROOT)/Makefile as    \
  149.         VPATH=$(SRCROOT) OFILE_DIR=$(OBJROOT)/a386_dir        \
  150.         SYMROOT=$(SYMROOT)/a386_dir SRCROOT=$(SRCROOT)        \
  151.         TARGET_OBJS="$(OBJS_i386)" COPTS="-DI386 -Di486 -Di586"    \
  152.         VERS_STRING_FLAGS="$(VERS_STRING_FLAGS)"        \
  153.         RC_CFLAGS="$(RC_CFLAGS)"  DEP_DIR=a386_dir;        \
  154.     fi
  155.  
  156. a386_test: a386_dir
  157.     cd a386_dir; $(MAKE) -f ../Makefile i386-check VPATH=.. OFILE_DIR=. \
  158.         SRCROOT=.. COPTS="-DI386 -Di486 -Di586"
  159.     cd a386_dir; $(MAKE) -f ../Makefile test
  160.  
  161. a860_build:    $(OBJROOT)/a860_dir
  162.     @if [ $(SRCROOT) = . ];                        \
  163.     then                                \
  164.         cd a860_dir; $(MAKE) -f ../Makefile as VPATH=.. OFILE_DIR=.    \
  165.         SRCROOT=.. TARGET_OBJS="$(OBJS_i860)" DEP_DIR=a860_dir    \
  166.         VERS_STRING_FLAGS="$(VERS_STRING_FLAGS)"        \
  167.         RC_CFLAGS="$(RC_CFLAGS)" COPTS="-DI860";        \
  168.     else                                \
  169.         cd $(OBJROOT)/a860_dir; $(MAKE) -f $(SRCROOT)/Makefile as    \
  170.         VPATH=$(SRCROOT) OFILE_DIR=$(OBJROOT)/a860_dir        \
  171.         SYMROOT=$(SYMROOT)/a860_dir SRCROOT=$(SRCROOT)        \
  172.         TARGET_OBJS="$(OBJS_i860)" COPTS="-DI860"        \
  173.         VERS_STRING_FLAGS="$(VERS_STRING_FLAGS)"        \
  174.         RC_CFLAGS="$(RC_CFLAGS)"  DEP_DIR=a860_dir;        \
  175.     fi
  176.  
  177. a860_test: a860_dir
  178.     cd a860_dir; $(MAKE) -f ../Makefile i860-check VPATH=.. OFILE_DIR=. \
  179.         SRCROOT=.. COPTS="-DI860"
  180.     cd a860_dir; $(MAKE) -f ../Makefile test ASFLAGS=-W
  181.  
  182. a98_build:    $(OBJROOT)/a98_dir
  183.     @if [ $(SRCROOT) = . ];                        \
  184.     then                                \
  185.         cd a98_dir; $(MAKE) -f ../Makefile as VPATH=.. OFILE_DIR=.    \
  186.         SRCROOT=.. TARGET_OBJS="$(OBJS_m98k)" DEP_DIR=a98_dir    \
  187.         VERS_STRING_FLAGS="$(VERS_STRING_FLAGS)"        \
  188.         RC_CFLAGS="$(RC_CFLAGS)" COPTS="-DM98K";        \
  189.     else                                \
  190.         cd $(OBJROOT)/a98_dir; $(MAKE) -f $(SRCROOT)/Makefile as    \
  191.         VPATH=$(SRCROOT) OFILE_DIR=$(OBJROOT)/a98_dir        \
  192.         SYMROOT=$(SYMROOT)/a98_dir SRCROOT=$(SRCROOT)        \
  193.         TARGET_OBJS="$(OBJS_m98k)" COPTS="-DM98K"        \
  194.         VERS_STRING_FLAGS="$(VERS_STRING_FLAGS)"        \
  195.         RC_CFLAGS="$(RC_CFLAGS)" DEP_DIR=a98_dir;        \
  196.     fi
  197.  
  198. a98_test: a98_dir
  199.     cd a98_dir; $(MAKE) -f ../Makefile m98k-check VPATH=.. OFILE_DIR=. \
  200.         SRCROOT=.. COPTS="-DM98K"
  201.     cd a98_dir; $(MAKE) -f ../Makefile test
  202.  
  203. ahppa_build:    $(OBJROOT)/ahppa_dir
  204.     @if [ $(SRCROOT) = . ];                        \
  205.     then                                \
  206.         cd ahppa_dir; $(MAKE) -f ../Makefile as VPATH=.. OFILE_DIR=.\
  207.         SRCROOT=.. TARGET_OBJS="$(OBJS_hppa)" DEP_DIR=ahppa_dir    \
  208.         VERS_STRING_FLAGS="$(VERS_STRING_FLAGS)"        \
  209.         RC_CFLAGS="$(RC_CFLAGS)" COPTS="-DHPPA";        \
  210.     else                                \
  211.         cd $(OBJROOT)/ahppa_dir; $(MAKE) -f $(SRCROOT)/Makefile as    \
  212.         VPATH=$(SRCROOT) OFILE_DIR=$(OBJROOT)/ahppa_dir        \
  213.         SYMROOT=$(SYMROOT)/ahppa_dir SRCROOT=$(SRCROOT)        \
  214.         TARGET_OBJS="$(OBJS_hppa)" COPTS="-DHPPA"        \
  215.         VERS_STRING_FLAGS="$(VERS_STRING_FLAGS)"        \
  216.         RC_CFLAGS="$(RC_CFLAGS)" DEP_DIR=ahppa_dir;        \
  217.     fi
  218.  
  219. ahppa_test: ahppa_dir
  220.     cd ahppa_dir; $(MAKE) -f ../Makefile hppa-check VPATH=.. OFILE_DIR=. \
  221.         SRCROOT=.. COPTS="-DHPPA"
  222.     cd ahppa_dir; $(MAKE) -f ../Makefile test
  223.  
  224. asparc_build:    $(OBJROOT)/asparc_dir
  225.     @if [ $(SRCROOT) = . ];                        \
  226.     then                                \
  227.         cd asparc_dir; $(MAKE) -f ../Makefile as VPATH=.. OFILE_DIR=.\
  228.         SRCROOT=.. TARGET_OBJS="$(OBJS_sparc)" DEP_DIR=asparc_dir\
  229.         VERS_STRING_FLAGS="$(VERS_STRING_FLAGS)"        \
  230.         RC_CFLAGS="$(RC_CFLAGS)" COPTS="-DSPARC";        \
  231.     else                                \
  232.         cd $(OBJROOT)/asparc_dir; $(MAKE) -f $(SRCROOT)/Makefile as    \
  233.         VPATH=$(SRCROOT) OFILE_DIR=$(OBJROOT)/asparc_dir    \
  234.         SYMROOT=$(SYMROOT)/asparc_dir SRCROOT=$(SRCROOT)    \
  235.         TARGET_OBJS="$(OBJS_sparc)" COPTS="-DSPARC"        \
  236.         VERS_STRING_FLAGS="$(VERS_STRING_FLAGS)"        \
  237.         RC_CFLAGS="$(RC_CFLAGS)" DEP_DIR=asparc_dir;        \
  238.     fi
  239.  
  240. asparc_test: asparc_dir
  241.     cd asparc_dir; $(MAKE) -f ../Makefile sparc-check VPATH=.. \
  242.         OFILE_DIR=. SRCROOT=.. COPTS="-DSPARC"
  243.     cd asparc_dir; $(MAKE) -f ../Makefile test
  244.  
  245. driver:    driver.o next_version.o
  246.     $(CC) $(COPTS) $(CFLAGS) $(RC_CFLAGS) -o $(SYMROOT)/driver \
  247.         $(OFILE_DIR)/driver.o $(OFILE_DIR)/next_version.o $(LIBSTUFF)
  248.  
  249. as:    $(OBJS) $(TARGET_OBJS) makeUser.o
  250.     $(CC) $(COPTS) $(CFLAGS) $(RC_CFLAGS) -nostdlib -r \
  251.         -o $(SYMROOT)/as.private.o $(OBJS) $(TARGET_OBJS) \
  252.         makeUser.o $(LIBSTUFF)
  253.     $(CC) $(CFLAGS) $(RC_CFLAGS) -o $(SYMROOT)/as $(SYMROOT)/as.private.o
  254.  
  255. makeUser.c messages.c: make.h
  256.  
  257. make.h makeUser.c: make.defs
  258.     mig $(SRCROOT)/make.defs
  259.     rm -f makeServer.c
  260.  
  261. m68k-check:
  262.     $(CC) $(COPTS) $(CFLAGS) -o check ../m68k-check.c
  263.  
  264. m88k-check:
  265.     $(CC) $(COPTS) $(CFLAGS) -o check ../m88k-check.c
  266.  
  267. i386-check:
  268.     $(CC) $(COPTS) $(CFLAGS) -o check ../i386-check.c
  269.  
  270. i860-check:
  271.     $(CC) $(COPTS) $(CFLAGS) -o check ../i860-check.c
  272.  
  273. m98k-check:
  274.     $(CC) $(COPTS) $(CFLAGS) -o check ../m98k-check.c
  275.  
  276. hppa-check:
  277.     $(CC) $(COPTS) $(CFLAGS) -o check ../hppa-check.c
  278.  
  279. sparc-check:
  280.     $(CC) $(COPTS) $(CFLAGS) -o check ../sparc-check.c
  281.  
  282. test:
  283.     ./check > check.s
  284.     ./as -force_cpusubtype_ALL $(ASFLAGS) -o check.o check.s
  285.     otool -X -tV check.o > check1.s
  286.     ./as -force_cpusubtype_ALL $(ASFLAGS) -o check1.o check1.s
  287.     otool -X -tV check1.o > check2.s
  288.     diff check1.s check2.s > check.out
  289.     cmp check.o check1.o
  290.  
  291. next_version.c:
  292.     echo "const char next_version[]= " \"`vers_string $(VERS_STRING_FLAGS) -f cctools`\" ";" > \
  293.         $(OFILE_DIR)/$@
  294.  
  295. .c.o:
  296.     $(CC) $(COPTS) $(CFLAGS) $(RC_CFLAGS) -c -MD \
  297.         -dependency-file $(OFILE_DIR)/$*.d -o $(OFILE_DIR)/$*.o $*.c
  298.     md -d -u $(OFILE_DIR)/Makedep $(OFILE_DIR)/$*.d
  299.  
  300. clean shlib_clean:
  301.     -rm -r -f $(OFILE_DIRS) make.out
  302.  
  303. installsrc installGNUsrc:
  304.     mkdirs $(SRCROOT)
  305.     chmod 755 $(SRCROOT)
  306.     tar cf - $(INSTALL_FILES) | (cd $(SRCROOT); tar xf -)
  307.     chmod 444 $(SRCROOT)/*
  308.  
  309. install: all $(DSTDIRS)
  310.     install -s -m 555 $(SYMROOT)/driver_dir/driver $(DSTROOT)$(BINDIR)/as
  311.     install -s -m 555 $(SYMROOT)/a68_dir/as $(DSTROOT)$(LIBDIR)/m68k/as
  312.     install -s -m 555 $(SYMROOT)/a386_dir/as $(DSTROOT)$(LIBDIR)/i386/as
  313.     install -s -m 555 $(SYMROOT)/ahppa_dir/as $(DSTROOT)$(LIBDIR)/hppa/as
  314.     install -s -m 555 $(SYMROOT)/asparc_dir/as $(DSTROOT)$(LIBDIR)/sparc/as
  315.     install -s -m 555 $(SYMROOT)/a88_dir/as $(DSTROOT)$(LOCLIBDIR)/m88k/as
  316.     install -s -m 555 $(SYMROOT)/a98_dir/as $(DSTROOT)$(LOCLIBDIR)/m98k/as
  317.     install -s -m 555 $(SYMROOT)/a860_dir/as $(DSTROOT)$(LOCLIBDIR)/i860/as
  318.  
  319. $(OFILE_DIRS) $(SYM_DIRS) $(DSTDIRS):
  320.     mkdirs $@
  321.  
  322. -include $(DEP_DIR)/Makedep
  323.